
#ifndef __PJSIP_SIP_AUTH_OCS_H__
#define __PJSIP_SIP_AUTH_OCS_H__


#include <pjsip/sip_transaction.h>
#include <pjsip/sip_util.h>
#include <pjsip/sip_module.h>
#include <pjsip/sip_endpoint.h>
#include <pjsip/sip_errno.h>
#include <pjsip/sip_event.h>
#include <pjlib-util/errno.h>

#include <pj/hash.h>
#include <pj/pool.h>
#include <pj/os.h>
#include <pj/string.h>
#include <pj/assert.h>
#include <pj/guid.h>
#include <pj/log.h>
#include <pj/list.h>
#include <pjlib-util/base64.h>
#include <pjsip/sip_auth.h>
#include <pjsip/sip_auth_parser.h>
#ifdef PJSIP_OCS_WIN_PLATFORM
#include <windows.h>
#include <Security.h>
#endif

PJ_BEGIN_DECL


 /**
 *
 * negotiate ntlm 
 *
 *
 * Returns:   
 *
 * Parameter: pool  tdata pool 
 * Parameter: cred  pjsip_ntlm_credential field
 * Parameter: chal  pjsip_ntlm_challenge from serser
 * Parameter: cred_info   local cred_info
 * Parameter: pcached_auth   
 */
PJ_DECL(pj_status_t) pjsip_auth_ntlm_negotiate(pj_pool_t *pool,pjsip_ntlm_credential *cred,const pjsip_ntlm_challenge *chal,const pjsip_cred_info *cred_info,pjsip_cached_auth *pcached_auth);

 /**
 *
 *
 *
 *
 * Returns:   
 *
 * Parameter: auth_sess   
 * Parameter: tdata   
 */
PJ_DECL(pj_status_t) pjsip_auth_make_signature(pjsip_auth_clt_sess * auth_sess,pjsip_tx_data *tdata);


PJ_END_DECL

#endif	/* __PJSIP_SIP_AUTH_OCS_H__ */
